#!/usr/bin/env python
#_*_ coding:utf-8 _*_

#作业 写一个密码验证程序 正确的密码在文本里 需要你去比对 输入的密码 允许错误3次 超过3次 报错  注意编码风格 合理使用异常

i=0  #定义一个计数器
while True:
    login_user = input('用户名') #交互式输入用户名
    if len(login_user)==0:       #判断用户名有没输入
        print('对不起,你没有输入用户名')
        continue
    f_lock = open('lock.txt','r+') #如果没有输入就结束此次循环进入下一个循环
    lock_list = f_lock.read()      #以只读的方式打开lock.txt文件
    f_lock.close()                 #关闭lock.txt文件
    if login_user in lock_list:    #判断输入的用户是否在锁定文件中
            print('对不起,%s已被锁定'%login_user)
            continue               #如果输入的用户在锁定文件中那就进入下次循环
    f_login = open('user_file','r+') #以只读的方式打开user_file文件
    user_list = f_login.read().split() #读取user_file文件中所有内容并赋值给user_list
    if login_user in user_list:  #判断输入的用户是否存在user_list里。如果在就继续下面的操作.
        while True:
           login_pwd = input('密码: ')
           passwd = open('user_file','r+')
           passwd_list = passwd.read().split()
           a = passwd_list[passwd_list.index(login_user)+1]
           passwd.close()
           if login_pwd == a:  #如果输入的密码为输入用户后面的密码就往下走
               flag=True #定义一个变量为真
               print('%s,欢迎你登录'%login_user)
               break
           else:
               i+=1
               a=3-i
               if i==1:
                   print('对不起，你输入的密码错误:你还有%s次机会'%a)
               elif i==2:
                   print('对不起，你输入的密码错误:你还有%s次机会'%a)
               elif i==3:
                   
                   print("对不起：你输入的次数超过三从，账户已经被锁定\n-------------分割线-------------------")
                   f_lock = open('lock.txt','a+')
                   f_lock.write('%s\n'%login_user)
                   f_lock.close()
                   flag=True
                   break
    else:
        print("对不起，你输入的用户名不存在，请重新输入. \n----------分割线-------------")
        continue
 
    if flag:
        break

           
    
